<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>函数</title>
</head>
<body>
<button onclick="alert('警告框')">弹出警告框</button>
<button onclick="confirm('是否确认退出')">弹出确认框</button>
<button onclick="prompt('请输入用户名')">弹出输入框</button>

<script>
    console.log(parseInt(6.6));
    console.log(parseInt(6.1));
    console.log(parseInt(6));
    console.log(parseInt('hhh'));//NaN
    console.log(parseInt('12hh34hh56hh'))//12

    console.log(parseFloat(5));//5
    console.log(parseFloat(5.5));//5.5
    console.log(parseFloat('hhh'));//NaN
    console.log(parseFloat('3.14hh23hh1'));//3.14

    //判断是否是非数字
    console.log(isNaN('hhh'));//true
    console.log(isNaN(6));//false
    console.log(isNaN(6.6));//false

    /*js通过function关键字定义函数*/
    function f1(){
        console.log("f1函数");
    }
    f1();
    f1();
    f1();
    /*带参数的函数*/
    function f2(n){
        console.log("f2函数"+n)
    }
    f2(1);
    f2("hello");
    f2(false);

    /*形参与实参的个数*/
    function f3(x,y){
        console.log(x+y);
    }
    f3(1,2);//3
    f3(1,2,3);//3
    f3(1);//1+undefined=NaN

    /*arguments用来保存调用函数时传来的参数，可以看到参数的个数与具体的值*/
    function f4(){
        console.log(arguments);
    }
    f4(10);
    f4(10,20);
    f4(10,20,"30");

    /*函数返回值*/
    function f5(a,b){
        return a+b;

    }
    var res = f5(1,3);
    console.log(res);
    console.log(f5(1,2));



    //第二种函数声明方式
    var f6 = function(){
        console.log("f6函数");
    }
    f6();
    console.log(f6,typeof f6)

    //第三种函数声明方式(用const表示，不可在被修改，比较稳定)
    const f7 = (n)=>{
        console.log("箭头函数"+n);
    }
    f7(1);
    f7("hello");
</script>
</body>
</html>